import { createApp } from 'vue'
import App from '@/App.vue'
//引入全局样式
import '@/styles/index.scss'
//引入element-plus插件与样式
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
//svg插件的配置代码
import 'virtual:svg-icons-register'
//引入自定义插件对象, 用于注册整个项目全局组件
import gloalComponent from '@/components'
//引入element-plus国际化配置, 并且告诉 TypeScript 编译器忽略这行代码的类型错误是期望的，不需要报错。这个注释通常用于临时处理一些类型系统无法捕捉到的情况，比如一些第三方库的类型定义不完善等情况。
//@ts-expect-error忽略当前文件ts类型的检测否则有红色提示(打包会失败)
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
//暗黑模式需要的样式
import 'element-plus/theme-chalk/dark/css-vars.css'
//引入路由器
import router from './router'
//引入仓库
import pinia from './store'
//获取应用实例对象
const app = createApp(App)
//安装element-plus插件
app.use(ElementPlus, {
  locale: zhCn, //element-plus国际化配置
})
//安装自定义插件 -- 插件的install方法会自动执行
app.use(gloalComponent)
//安装仓库
app.use(pinia)
//注册路由
app.use(router)
//引入路由鉴权文件(至少执行一次)
import './permisstion'
//引入自定义指令文件
import { isHasButton } from '@/directive/has'
isHasButton(app)
//将应用实例对象挂载到挂载点上
app.mount('#app')

console.log("hello");
console.log("hello");
console.log("hello");
